package com.time.concurrency.one;

/**
 * @program: tes
 * @description:
 * @author: xuejingjing
 * @create: 2021-10-21 11:56
 **/
public class HasSelfPrivateNum {
//  如果多个线程共同访问1个对象中的实例变量，则有可能出现“非线程安全”问题。
    private int num = 0;
    public void addI(String username){
// 可见，方法中的变量不存在非线程安全问题，永远都是线程安全的。这是方法内部的变量是私有的特性造成的
//        int num = 0;
        if(username.equals("a")){
            num = 100;
            System.out.println("a set over!");
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }else{
            num = 200;
            System.out.println("b set over!");
        }
        System.out.println(username + " num ="+num);
    }
}
